package com.second.app.proxy;


/**
 * @Author GYZ
 * @Date 2023/9/18
 * <pre>
 *    静态代理
 * </pre>
 */
public class ProductServiceStaticProxy implements ProductService {

    private ProductService target;

    public ProductServiceStaticProxy(ProductService target) {
        this.target = target;
    }

    @Override
    public void addProduct(Product product) {

        System.out.println("【记录日志】准备执行方法：addProduct，参数列表："+product);

        target.addProduct(product);

        System.out.println("【记录日志】方法执行结束：addProduct");

    }

    @Override
    public Product getProductById(Long productId) {

        System.out.println("【记录日志】准备执行方法：getProductById，参数列表："+productId);

        Product product= target.getProductById(productId);

        System.out.println("【记录日志】准备执行方法：getProductById，返回值："+product);

        return product;
    }
}
